Wireless M-Bus to LoRaWAN - The Things Stack
Integration manual for the ACRIOS Systems ACR-CV-101NI-W-D2 wireless M-Bus to NB-IoT converter with ACR-CV-101LN-W-D firmware that allows the use of LoRaWAN and a potential use of NB-IoT for data sending to a remote backend.
Walkthrough Video
Introduction
This integration manual demonstrates how you can integrate ACR-CV-101NI-W-D2 device with ACR-CV-101LN-W-D firmware with your backend implementing the protocol from this integration manual.
The Things Stack is used in this demonstration as an example of a LoRaWAN network server solution because of its simplicity and ease of control over MQTT. However, please note that any Network Server can be used for the purpose.
The diagram below shows the overall structure of the setup.
- The ACR-CV communicates over LoRaWAN to the nearest LoRaWAN gateway, which forwards the encrypted LoRaWAN frames over UDP to port 1700 UDP of our test instance of The Things Stack.
- Internally, The Things Stack publishes messages or events to MQTT topics and sends them to the MQTT Broker.
- The test script called "main.py" is connected to this MQTT Broker as well and is subscribed to the MQTT topic corresponding to the reception of LoRaWAN uplink messages from ACR-CV.
- The received messages are then after some processing and parsing printed out in a readable form in the console.
MQTT is also used by publishing messages to corresponding MQTT topic in order to answer ACR-CV, to send a configuration and a list of Wireless M-Bus IDs to gather to a device and to schedule a Wireless M-Bus readout process. The script practically goes through these diagrams or their parts. The exact algorithm is shown below.
Setting Up The Things Stack
In order to reproduce the setup shown in the introduction, you are going to need a running instance of The Things Stack.
Containerization is a popular solution used to run server-based applications. In our case, we used a docker to create an instance of different databases and to pull the official image containing The Things Stack named "thethingsnetwork/lorawan-stack:latest".
Even if you use containerization, it could be tricky to set up the whole system - therefore, it is also possible to use the following Github repository instead: https://github.com/ACRIOS-Systems/ttn-docker-compose
The "docker-compose.yml" file is prepared in such way that Traefik can be used as a reverse proxy - only the URL, under which you want The Things Stack to be available, needs to be adjusted. Alternatively, to test it on your local network, you can use the "ports" section of the respective docker service and "expose" the web server port of the service to e.g. localhost of your computer.
In order to make MQTT available for connection, you need to specify the "ports" part of the "stack" service in "docker-compose.yml". It should look like the following example:
ports:
- 1700:1700/udp
- 1883:1883
LoRaWAN Gateway & End Device Registration
In this specific case, the service is running at https://ttn.testvps.acrios.com/.
- Once you log in with the default password (which can be changed, especially if you expose anything publicly) this page should follow:
- Then click on "Go to gateways" and "+ Register gateway" and this page should follow:
- Fill in all the necessary details and confirm:
-
Now enter the administration of your LoRaWAN gateway and set it up to send data using Semtech UDP protocol to your IP address and UDP port 1700.
-
After that, you can verify, if the gateway is sending status reports in the list of gateways to make sure it is connected correctly.
-
The next step is to go to the left section "Go to applications" and click on "+ Create application".
- In this case, the Application ID is "wmbus":
- Now, click on "+ Register end device" and here we fill in the details like this:
- In the case of this specific Lua script running on ACR-CV, the IMSI number of inserted SIM card is used as DevEUI, prepended by one additional zero in order to have 16 hexadecimal digits. The Application Key (AppKey) is also derived from IMSI as shown below. The IMSI number of the SIM card used for the test is
278773000099882
, therefore:
In case you don't know the IMSI number of your SIM card, just insert it in ACR-CV and use CuteCom, Putty, Termite or similar serial monitoring software (or https://gui.acrios.com) and your IMSI is here:
Provisioning The "main.py"
In order to make the main.py
script work, you need to set the correct parameters in its initial part, such as:
- IP address of the MQTT broker
- Port
- EUI of device to interact with
- Username and password for MQTT
In this case, the following parameters were used (parameters emphasized with an arrow):
import paho.mqtt.client as mqtt
import json
import base64
import threading
import queue
import binascii
import re
import time
import builtins
# MQTT broker details
BROKER = '31.31.73.123' # <------- IP address
PORT = 1883 # <------- MQTT broker
# Device details
DEVICE_EUI = '0278773000099882' # <------- EUI of device to interact with
RELEVANT_UPLINK_TOPIC = f'v3/wmbus/devices/eui-{DEVICE_EUI}/up'
DOWNLINK_TOPIC = f'v3/wmbus/devices/eui-{DEVICE_EUI}/down/push'
# Queue for received messages
message_queue = queue.Queue()
USERNAME = 'wmbus' # <------- Username for MQTT
PASSWORD = 'NNSXS.SYNR ... LS72HLA4PV3RO3I7A' # <------- Password for MQTT
Note that to get the username and password, you need to create an API key.
- Click on API key button in the left menu and then click on "+ Add API key" button:
- You should get to the following screen. For now, enter the "Name" of your key (this will become the username) and check the box "Grant all current and future rights":
- Finally, you need to copy the password/key/token by clicking the file icon next to hidden values:
Once that is done, you can copy the password and enter it into the script (see above).
Logic of "main.py"
The "main.py" script is written to demonstrate how ACR-CV can be controlled with the help of LoRaWAN using the same protocol as in the ACR-CV-101NI-W-D integration manual. The high-level logic of the script is shown in the following flowchart:
Further Details on How the Script Works
Further details in this section can also be seen in the flowchart above.
End Device Configuration Part
The script starts by connecting to the MQTT broker and subscribing to the topic v3/wmbus/devices/eui-0278773000099882/up
, where uplinks from the end devices can be received.
Then the device is configured in two steps:
- First, the configuration related to the Wireless M-Bus mode or reception mode, that is going to be used, is set up. Then, the configuration of other timing-related parameters, such as inter-frame timeout, beacon (status message) reporting period etc. follows.
- Second, the list of IDs to read out is set up so that ACR-CV knows when it can stop the gathering/reception when all IDs are received.
Normal and Payload Scanning Processes
The following two types of scanning are demonstrated:
- The first (command
0x04
) is a regular scan, which reports in total 10 bytes of data per each found meter containing all important information, such as meter manufacturer ID, meter ID, RSSI, used reception mode, etc. The advantage of the first type of scan is, that it is much more data efficient. - The second type of scan (command
0x0F
) contains on top of data from the first one and also the raw frame from the found meter. This is useful, when this information is needed to accurately identify the end meter, however generally the information from0x04
scan is sufficient.
Wireless M-Bus Meters Readout
The scheduled readout or scheduled gathering is demonstrated. This is a preferred way of gathering, since it is possible to tell to ACR-CV, when it should exactly start the reception. This way, data reporting can be spread throughout the whole day. This prevents potential backend server overload caused by executing all the readouts at the exact same time.
Simple Fragmentation Algorithm
When designing an application-level protocol, the maximum transmission unit (MTU) of the underlying communication technology must be respected. In the case of LoRaWAN, the situation is much more susceptible to size-related problems, than in the case of NB-IoT, since the MTU ranges from 51 to 242 bytes in the EU868 band plan.
Because we want to keep the application-level protocol in both LoRaWAN and NB-IoT scripts similar or ideally the same (further details can be found in the Conclusion below), we make use of a fragmentation layer.
The fragmentation layer takes care of such situations when the amount of data to be sent in both uplink or downlink directions are greater than the MTU. This is realized by using 2 bytes, which are prepended before each fragment of the original frame, as shown in the figure below:
Fragmentation is always used - if a frame is composed only of a single fragment, then the frame is simply prepended by 01 01
bytes and
the same goes for downlink.
The downlink is however a little bit more complicated - because the devices use LoRaWAN Class A, they can only receive downlink
messages as answer to an uplink. Therefore, when ACR-CV has received a fragmented message starting for example with 05 01 ...
, it answers after
reception of such downlink with 2 bytes 00 01
. When there is 00
in a downlink message in the same position, which represents the number of frames in an uplink message, it means, that this is a request for the rest of the downlink data. The second byte of 00 01
means, that the fragment number
1 was received and are waiting wait for the rest.
In our case the "main.py" script can then send fragment number two starting with 05 02 ...
and the
process repeats until ACR-CV receives 05 05 ...
downlink message. If any message is lost, the sending party ("main.py" in the case of a downlink) repeats
the frame up to five times. It aborts the sending after five unsuccessful attempts in a row.
In the case of uplink fragmentation, the knowledge of active data rate (ADR - the automatic data rate algorithm is enabled) is used to send maximum length fragments. However in the downlink, where such information is unavailable (and RX2 window uses data rate DR0/SF12), we always use an MTU of 51 bytes.
Keep in mind this is usually not reducing the performance, since large downlink frames are only used when configuring the list of Wireless M-Bus IDs for a readout. This is done usually only once, during the bring-up of the installation of the device.
During normal operation, all downlink frames fit in a single fragment of 51 bytes. For uplink, it is more important to use the available MTU in its entirety, because every time a gather is executed, the uplink is used to send data up to the backend. Executing end meter data gatherings/readouts is the primary purpose of the device which highlights the importance of such optimization.
Example Output of Serial Console and "main.py"
If you are interested in how the script and the device perform, you can check out the following serial output of ACR-CV used with "main.py":
main.py Python Script Log
[2024-07-01 10:37:31.219] Connected successfully with result code 0
[2024-07-01 10:37:33.186] First, wait for beacon message and then send configuration and list of IDs to gather
[2024-07-01 10:39:47.170] Processing uplink payload: 0101f0ff01010300000003000000bd080000bd080000312e320063c30d38363332363630353033363732323900000300000000000000000000000000000000000000000000000000000000040000001a
[2024-07-01 10:39:47.170] This is a beacon message! Send configuration using command 0x02.
[2024-07-01 10:39:47.170] Send device configuration message:
02 - command number = configuration
64 - time per device in seconds = 100s
00 - time spent in S mode when alternating modes - 0s
3C - time spent in T/C mode when alternating modes - 60s
00 - number of days to wait between periodic gathering - 0days
0C - number of hours to wait between periodic gathering - 12hours
00 - number of minutes to wait between periodic gathering - 0minutes
3C - time spent in proprietary Apator Metra mode when alternating modes - 60s
0A - inter-frame timeout in minutes - 10minutes
04 - beacon reporting period in multiples of 15 minutes - 1hour
00 - time spent in proprietary SENSUS434 mode when alternating modes - 0s
00 - time spent in proprietary SENSUS Bubble Up 433MHz mode when alternating modes - 0s
00 - time spent in proprietary SENSUS Bubble Up 868MHz mode when alternating modes - 0s
[2024-07-01 10:39:47.171] Downlink sent to 0278773000099882: 01010264003c000c003c0a04000000
[2024-07-01 10:39:47.171] Sent single-fragment downlink message!
[2024-07-01 10:39:56.203] Uplink received from 0278773000099882
[2024-07-01 10:39:56.204] Processing uplink payload: 0101fe64003c000c003d1b3c0a000000
[2024-07-01 10:39:56.204] This is a configuration acknowledge message.
[2024-07-01 10:39:56.204] Set list of device IDs to gather to:
T/C M
01661857 11F7C191 = 301449617
01673203 01EB9091 = 32215185
51562056 11F9EA53 = 301591123
19854733 11F9EA58 = 301591128
03000055
20574390
17846738
[2024-07-01 10:39:56.204] Downlink sent to 0278773000099882: 010101571866010332670191c1f7114785195500000390435720386784173744d0019190eb0153eaf91158eaf911
[2024-07-01 10:39:56.204] Sent single-fragment downlink message!
[2024-07-01 10:40:03.879] Uplink received from 0278773000099882
[2024-07-01 10:40:03.880] Processing uplink payload: 0101f60a987fca41
[2024-07-01 10:40:03.880] Received checksum of provided IDs...
[2024-07-01 10:40:03.880] First, wait for beacon message and then continue
[2024-07-01 11:40:38.329] Uplink received from 0278773000099882
[2024-07-01 11:40:38.329] Processing uplink payload: 0101f0ff0201180e0000180e0000bd080000d2160000312e3200632a0e38363332363630353033363732323900000300001a00000000000000000000000000000000001a0b0000010000000400000019
[2024-07-01 11:40:38.329] Beacon received!
[2024-07-01 11:40:38.329] Now perform simple scan, which will report meters in range with RSSI value and other information...
[2024-07-01 11:40:38.329] Scan request:
04 - command number - scan
02 - time to scan - 2 minutes
01 - mode to use - T/C mode
[2024-07-01 11:40:38.329] Downlink sent to 0278773000099882: 0101040201
[2024-07-01 11:40:38.329] Sent single-fragment downlink message!
[2024-07-01 11:42:47.163] Uplink received from 0278773000099882
[2024-07-01 11:42:47.163] Processing uplink payload: 0101f308444179959344c5ff01073867841724349bff0104025715052434a2ff01073867841724349dff010733478519b409aaff01378178303793449fff0107954801242434a8ff0137817830379344a2ff01073867841724349eff01073867841724349fff01372312986793449fff010733478519b409acff0180245875906850b1ff0137388530379344a5ff01
[2024-07-01 11:42:47.163] Decode and print-out found meters:
[2024-07-01 11:42:47.164] Downlink sent to 0278773000099882: 010108
[2024-07-01 11:42:47.164] Sent single-fragment downlink message!
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 8, "id": "95794144", "manufacturerId": "0x4493", "RSSI": -59}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "17846738", "manufacturerId": "0x3424", "RSSI": -101}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 4, "id": "05155702", "manufacturerId": "0x3424", "RSSI": -94}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "17846738", "manufacturerId": "0x3424", "RSSI": -99}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "19854733", "manufacturerId": "0x09B4", "RSSI": -86}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 55, "id": "37307881", "manufacturerId": "0x4493", "RSSI": -97}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "24014895", "manufacturerId": "0x3424", "RSSI": -88}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 55, "id": "37307881", "manufacturerId": "0x4493", "RSSI": -94}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "17846738", "manufacturerId": "0x3424", "RSSI": -98}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "17846738", "manufacturerId": "0x3424", "RSSI": -97}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 55, "id": "67981223", "manufacturerId": "0x4493", "RSSI": -97}
[2024-07-01 11:42:47.164] {"mode": 1, "deviceType": 7, "id": "19854733", "manufacturerId": "0x09B4", "RSSI": -84}
[2024-07-01 11:42:47.165] {"mode": 1, "deviceType": 128, "id": "90755824", "manufacturerId": "0x5068", "RSSI": -79}
[2024-07-01 11:42:47.165] {"mode": 1, "deviceType": 55, "id": "37308538", "manufacturerId": "0x4493", "RSSI": -91}
[2024-07-01 11:42:53.620] Uplink received from 0278773000099882
[2024-07-01 11:42:53.620] Processing uplink payload: 0101fb
[2024-07-01 11:42:53.620] Final scan report, scanning ends...
[2024-07-01 11:42:53.621] Downlink sent to 0278773000099882: 010108
[2024-07-01 11:42:53.621] Sent single-fragment downlink message!
[2024-07-01 11:42:53.621] First, wait for beacon message and then continue
[2024-07-01 11:52:22.822] Uplink received from 0278773000099882
[2024-07-01 11:52:22.822] Processing uplink payload: 0101f0ff03000611000006110000bd080000c1190000312e320063230e3836333236363035303336373232390000030000d700000000000000000000000000000000001a0b0000010000000400000019
[2024-07-01 11:52:22.822] Beacon received!
[2024-07-01 11:52:22.823] Now perform payload scan, which will report meters in range with RSSI value and other information + the frame payload...
[2024-07-01 11:52:22.823] Scan request:
0F - command number - scan
01 - time to scan - 1 minute
02 - mode to use - proprietary Apator Metra mode
[2024-07-01 11:52:22.823] Downlink sent to 0278773000099882: 01010f0102
[2024-07-01 11:52:22.823] Sent single-fragment downlink message!
[2024-07-01 11:54:05.237] Uplink received from 0278773000099882
[2024-07-01 11:54:05.237] Processing uplink payload: 0101f0f80358eaf9111406adff02001600e9ffabdf13fd4e23c34e0000700c0000000000004c608c1ec252
[2024-07-01 11:54:05.237] Decode and print-out found meters and payload:
[2024-07-01 11:54:05.237] Downlink sent to 0278773000099882: 010108
[2024-07-01 11:54:05.237] Sent single-fragment downlink message!
[2024-07-01 11:54:05.237] {"deviceType": 3, "id": "11F9EA58", "manufacturerId": "0x0614", "RSSI": -83, "mode": 2, "crcOk": true, "payload": "13fd4e23c34e0000700c0000000000004c608c1ec252"}
[2024-07-01 11:54:11.646] Uplink received from 0278773000099882
[2024-07-01 11:54:11.646] Processing uplink payload: 0101fb
[2024-07-01 11:54:11.646] Final scan report, scanning ends...
[2024-07-01 11:54:11.646] Downlink sent to 0278773000099882: 010108
[2024-07-01 11:54:11.646] Sent single-fragment downlink message!
[2024-07-01 11:54:11.646] First, wait for beacon message and then continue
[2024-07-01 12:11:56.245] Uplink received from 0278773000099882
[2024-07-01 12:11:56.246] Processing uplink payload: 0101f0ff04009b1500009b150000bd080000561e0000312e320063270e38363332363630353033363732323900000300004c01000000000000000000000000000000001a0b000001000000040000001a
[2024-07-01 12:11:56.246] Beacon received!
[2024-07-01 12:11:56.246] Now perform gathering request, which will gather assigned IDs
[2024-07-01 12:11:56.246] Scheduled gather request:
0B - command number - scheduled gather
64 - time per device in seconds = 100s
00 - time spent in S mode when alternating modes - 0s
3C - time spent in T/C mode when alternating modes - 60s
00 - number of days to wait before starting the gathering - 0days
00 - number of hours to wait before starting the gathering - 0hours
00 - number of minutes to wait before starting the gathering - 0minutes
3C - time spent in proprietary Apator Metra mode when alternating modes - 60s
0A - inter-frame timeout in minutes - 10minutes
00 - defer start of the gather - 0 is false meaning start right now
[2024-07-01 12:11:56.246] Downlink sent to 0278773000099882: 01010b64003c0000003c0a00
[2024-07-01 12:11:56.246] Sent single-fragment downlink message!
[2024-07-01 12:23:08.166] Uplink received from 0278773000099882
[2024-07-01 12:23:08.167] Processing uplink payload: 0101f4050000
[2024-07-01 12:23:08.167] Final gather report, gathering ends...
[2024-07-01 12:23:08.167] Downlink sent to 0278773000099882: 010108
[2024-07-01 12:23:08.167] Sent single-fragment downlink message!
[2024-07-01 12:23:08.167] Scenario finished!
ACR-CV Serial Log
[10:39:43:841] [ 93377][LUA]: Starting onWake() script␍␊
[10:39:44:529] [ 644][STDOUT]: onWake(), reason =⇥ timer ␍␊
[10:39:44:593] [ 713][STDOUT]: Uptime =⇥ 2⇥ sec ␍␊
[10:39:44:689] [ 805][STDOUT]: serial =⇥ connected ␍␊
[10:39:44:753] [ 866][STDOUT]: NB-IoT = ⇥ active ␍␊
[10:39:44:801] [ 926][STDOUT]: time =⇥ 2016⇥ 1⇥ 1⇥ 0⇥ 37⇥ 17 ␍␊
[10:39:45:025] [ 1147][STDOUT]: BEACON⇥ 0⇥ 2237 ␍␊
[10:39:45:297] [ 1415][STDOUT]: ⇥ -> ⇥ T1 mode ␍␊
[10:39:45:377] [ 1500][STDOUT]: mode = ⇥ T1 ␍␊
[10:39:45:777] [ 1888][NBIOT]: Unknown signal level␍␊
[10:39:45:793] [ 1919][NBIOT]: IMEI = '863266050367229'␍␊
[10:39:45:969] [ 2094][STDOUT]: TX LORAWAN: ␍␊
[10:39:46:017] [ 2130][STDOUT]: ␍␊
[10:39:46:017] F0 FF 01 01 03 00 00 00 03 00 00 00 BD 08 00 00 BD 08 00 00 31 2E 32 00 63 C3 0D 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1A ␍␊
[10:39:46:084] [ 2199][STDOUT]: ␍␊
[10:39:46:084] [ 2209][LORA]: DR4␍␊
[10:39:46:244] [ 2366][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[10:39:46:452] [ 2563][STDOUT]: Sending fragmented message 1/1 ␍␊
[10:39:46:484] [ 2601][STDOUT]: ␍␊
[10:39:46:521] 01 01 F0 FF 01 01 03 00 00 00 03 00 00 00 BD 08 00 00 BD 08 00 00 31 2E 32 00 63 C3 0D 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1A ␍␊
[10:39:46:553] [ 2670][STDOUT]: ␍␊
[10:39:46:616] [ 2681][HWAPI_LORA]: setting port to 50.␍␊
[10:39:46:616] [ 2686][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[10:39:46:616] [ 2692][LORA]: get stack ready...␍␊
[10:39:46:616] [ 2696][LORA]: send data now (1 retransmission/s): ␍␊
[10:39:46:616] ⇥ 01 01 F0 FF 01 01 03 00 00 00 03 00 00 00 BD 08 00 00 BD 08 00 00 31 2E 32 00 63 C3 0D 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1A ␍␊
[10:39:46:616] [ 2728][LORA]: ␍␊
[10:39:46:632] [ 2754][LORAMAC]: # === MCPS-Request == # ␍␊
[10:39:46:661] [ 2760][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[10:39:46:661] [ 2767][LORAMAC]: # ===== # ␍␊
[10:39:46:661] [ 2771][LORAMAC]: STATUS : OK ␍␊
[10:39:46:933] [ 3047][LORA]: sending done.␍␊
[10:39:52:095] [ 8170][LORAMAC]: # === MCPS-Confirm == # ␍␊
[10:39:52:095] [ 8175][LORAMAC]: STATUS : OK ␍␊
[10:39:52:095] [ 8179][LORAMAC]: # = UPLINK FRAME 8 = # ␍␊
[10:39:52:095] [ 8186][LORAMAC]: ␍␊
[10:39:52:095] [ 8189][LORAMAC]: CLASS : A ␍␊
[10:39:52:095] [ 8193][LORAMAC]: ␍␊
[10:39:52:095] [ 8196][LORAMAC]: TX PORT : 50 ␍␊
[10:39:52:095] [ 8200][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[10:39:52:095] [ 8206][LORAMAC]: 01 01 F0 FF 01 01 03 00 00 00 03 00 00 00 BD 08 ␍␊
[10:39:52:095] [ 8214][LORAMAC]: 00 00 BD 08 00 00 31 2E 32 00 63 C3 0D 38 36 33 ␍␊
[10:39:52:095] [ 8223][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[10:39:52:151] [ 8231][LORAMAC]: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[10:39:52:151] [ 8240][LORAMAC]: 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 1A ␍␊
[10:39:52:151] [ 8248][LORAMAC]: ␍␊
[10:39:52:151] [ 8251][LORAMAC]: DATA RATE : DR_4 ␍␊
[10:39:52:151] [ 8256][LORAMAC]: U/L FREQ : 867900000 ␍␊
[10:39:52:151] [ 8261][LORAMAC]: TX POWER : 0 ␍␊
[10:39:52:151] [ 8265][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[10:39:52:151] [ 8270][LORAMAC]: ␍␊
[10:39:52:151] [ 8273][LORAMAC]: # == MCPS-Indication == # ␍␊
[10:39:52:151] [ 8279][LORAMAC]: STATUS : OK ␍␊
[10:39:52:209] [ 8283][LORAMAC]: # = DOWNLINK FRAME 1 = # ␍␊
[10:39:52:209] [ 8289][LORAMAC]: RX WINDOW : 1 ␍␊
[10:39:52:209] [ 8294][LORAMAC]: RX PORT : 10 ␍␊
[10:39:52:209] [ 8298][LORAMAC]: RX DATA : ␍␊
[10:39:52:209] [ 8303][LORAMAC]: 01 01 02 64 00 3C 00 0C 00 3C 0A 04 00 00 00 ␍␊
[10:39:52:209] [ 8311][LORAMAC]: ␍␊
[10:39:52:209] [ 8314][LORAMAC]: DATA RATE : DR_4 ␍␊
[10:39:52:209] [ 8318][LORAMAC]: RX RSSI : -109 ␍␊
[10:39:52:209] [ 8323][LORAMAC]: RX SNR : 4 ␍␊
[10:39:52:209] [ 8327][LORAMAC]: ␍␊
[10:39:52:209] [ 8330][LORA]: PACKET RECEIVED ON PORT 10␍␊
[10:39:52:209] [ 8338][LORAMAC]: # == CTXS STORED == # ␍␊
[10:39:52:230] [ 8343][LORAMAC]: Size : 88 ␍␊
[10:39:52:420] [ 8528][HWAPI_LORA]: Successfully sent to LoRa, received 15 bytes, stored in loraRxBuff ␊
[10:39:52:420] ␍␍␊
[10:39:52:468] [ 8587][STDOUT]: All fragments sent! ␍␊
[10:39:52:516] [ 8641][STDOUT]: Received single fragment downlink message! ␍␊
[10:39:52:564] [ 8680][STDOUT]: RX LORAWAN: ␍␊
[10:39:52:596] [ 8716][STDOUT]: ␍␊
[10:39:52:612] 02 64 00 3C 00 0C 00 3C 0A 04 00 00 00 ␍␊
[10:39:52:644] [ 8764][STDOUT]: ␍␊
[10:39:52:692] [ 8816][STDOUT]: per device:⇥ 100 ␍␊
[10:39:52:868] [ 8987][STDOUT]: ift:⇥ 10 ␍␊
[10:39:53:028] [ 9157][STDOUT]: beaconT:⇥ 4 ␍␊
[10:39:53:220] [ 9343][STDOUT]: S1:⇥ 0⇥ s ␍␊
[10:39:53:428] [ 9545][STDOUT]: T1:⇥ 60⇥ s ␍␊
[10:39:53:636] [ 9756][STDOUT]: M:⇥ 60⇥ s ␍␊
[10:39:53:860] [ 9975][STDOUT]: SENSUS434:⇥ 0⇥ s ␍␊
[10:39:54:068] [ 10186][STDOUT]: BUP433:⇥ 0⇥ s ␍␊
[10:39:54:260] [ 10389][STDOUT]: BUP868:⇥ 0⇥ s ␍␊
[10:39:54:452] [ 10576][STDOUT]: T=⇥ 0⇥ 12⇥ 0 ␍␊
[10:39:55:076] [ 11199][STDOUT]: c: ␍␊
[10:39:55:252] [ 11374][STDOUT]: TX LORAWAN: ␍␊
[10:39:55:284] [ 11410][STDOUT]: ␍␊
[10:39:55:300] FE 64 00 3C 00 0C 00 3D 1B 3C 0A 00 00 00 ␍␊
[10:39:55:332] [ 11458][STDOUT]: ␍␊
[10:39:55:348] [ 11469][LORA]: DR4␍␊
[10:39:55:517] [ 11626][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[10:39:55:693] [ 11823][STDOUT]: Sending fragmented message 1/1 ␍␊
[10:39:55:741] [ 11861][STDOUT]: ␍␊
[10:39:55:757] 01 01 FE 64 00 3C 00 0C 00 3D 1B 3C 0A 00 00 00 ␍␊
[10:39:55:789] [ 11910][STDOUT]: ␍␊
[10:39:55:832] [ 11921][HWAPI_LORA]: setting port to 50.␍␊
[10:39:55:832] [ 11926][HWAPI_LORA]: 16 bytes of data will be sent␍␊
[10:39:55:832] [ 11932][LORA]: get stack ready...␍␊
[10:39:55:832] [ 11936][LORA]: send data now (1 retransmission/s): ␍␊
[10:39:55:832] ⇥ 01 01 FE 64 00 3C 00 0C 00 3D 1B 3C 0A 00 00 00 ␍␊
[10:39:55:832] [ 11948][LORA]: ␍␊
[10:39:55:874] [ 11969][LORAMAC]: # === MCPS-Request == # ␍␊
[10:39:55:874] [ 11974][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[10:39:55:874] [ 11981][LORAMAC]: # ===== # ␍␊
[10:39:55:874] [ 11985][LORAMAC]: STATUS : OK ␍␊
[10:40:01:226] [ 17304][LORAMAC]: # === MCPS-Confirm == # ␍␊
[10:40:01:226] [ 17310][LORAMAC]: STATUS : OK ␍␊
[10:40:01:226] [ 17314][LORAMAC]: # = UPLINK FRAME 9 = # ␍␊
[10:40:01:226] [ 17321][LORAMAC]: ␍␊
[10:40:01:226] [ 17323][LORAMAC]: CLASS : A ␍␊
[10:40:01:226] [ 17328][LORAMAC]: ␍␊
[10:40:01:226] [ 17331][LORAMAC]: TX PORT : 50 ␍␊
[10:40:01:226] [ 17335][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[10:40:01:226] [ 17340][LORAMAC]: 01 01 FE 64 00 3C 00 0C 00 3D 1B 3C 0A 00 00 00 ␍␊
[10:40:01:226] [ 17349][LORAMAC]: ␍␊
[10:40:01:226] [ 17352][LORAMAC]: DATA RATE : DR_4 ␍␊
[10:40:01:226] [ 17356][LORAMAC]: U/L FREQ : 868100000 ␍␊
[10:40:01:280] [ 17362][LORAMAC]: TX POWER : 0 ␍␊
[10:40:01:280] [ 17366][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[10:40:01:280] [ 17371][LORAMAC]: ␍␊
[10:40:01:280] [ 17374][LORAMAC]: # == MCPS-Indication == # ␍␊
[10:40:01:280] [ 17379][LORAMAC]: STATUS : OK ␍␊
[10:40:01:280] [ 17384][LORAMAC]: # = DOWNLINK FRAME 2 = # ␍␊
[10:40:01:280] [ 17390][LORAMAC]: RX WINDOW : 1 ␍␊
[10:40:01:280] [ 17395][LORAMAC]: RX PORT : 10 ␍␊
[10:40:01:280] [ 17399][LORAMAC]: RX DATA : ␍␊
[10:40:01:280] [ 17403][LORAMAC]: 01 01 01 57 18 66 01 03 32 67 01 91 C1 F7 11 47 ␍␊
[10:40:01:280] [ 17412][LORAMAC]: 85 19 55 00 00 03 90 43 57 20 38 67 84 17 37 44 ␍␊
[10:40:01:340] [ 17420][LORAMAC]: D0 01 91 90 EB 01 53 EA F9 11 58 EA F9 11 ␍␊
[10:40:01:340] [ 17428][LORAMAC]: ␍␊
[10:40:01:340] [ 17431][LORAMAC]: DATA RATE : DR_4 ␍␊
[10:40:01:340] [ 17436][LORAMAC]: RX RSSI : -110 ␍␊
[10:40:01:340] [ 17440][LORAMAC]: RX SNR : 3 ␍␊
[10:40:01:340] [ 17445][LORAMAC]: ␍␊
[10:40:01:340] [ 17447][LORA]: PACKET RECEIVED ON PORT 10␍␊
[10:40:01:340] [ 17455][LORAMAC]: # == CTXS STORED == # ␍␊
[10:40:01:340] [ 17460][LORAMAC]: Size : 88 ␍␊
[10:40:01:516] [ 17646][LORA]: sending done.␍␊
[10:40:01:538] [ 17650][HWAPI_LORA]: Successfully sent to LoRa, received 46 bytes, stored in loraRxBuff ␊
[10:40:01:538] ␍␍␊
[10:40:01:586] [ 17709][STDOUT]: All fragments sent! ␍␊
[10:40:01:634] [ 17763][STDOUT]: Received single fragment downlink message! ␍␊
[10:40:01:682] [ 17802][STDOUT]: RX LORAWAN: ␍␊
[10:40:01:714] [ 17838][STDOUT]: ␍␊
[10:40:01:744] 01 57 18 66 01 03 32 67 01 91 C1 F7 11 47 85 19 55 00 00 03 90 43 57 20 38 67 84 17 37 44 D0 01 91 90 EB 01 53 EA F9 11 58 EA F9 11 ␍␊
[10:40:01:776] [ 17896][STDOUT]: ␍␊
[10:40:01:836] [ 17948][STDOUT]: New filter config: ␍␊
[10:40:01:836] [ 17952][HWAPI_WMBUS]: purge WMBUS filter␍␊
[10:40:01:884] [ 18008][HWAPI_WMBUS]: ADD 01: ID 01661857␍␊
[10:40:01:932] [ 18063][HWAPI_WMBUS]: ADD 02: ID 01673203␍␊
[10:40:01:996] [ 18118][HWAPI_WMBUS]: ADD 03: ID 11F7C191␍␊
[10:40:02:044] [ 18173][HWAPI_WMBUS]: ADD 04: ID 55198547␍␊
[10:40:02:108] [ 18228][HWAPI_WMBUS]: ADD 05: ID 90030000␍␊
[10:40:02:156] [ 18283][HWAPI_WMBUS]: ADD 06: ID 38205743␍␊
[10:40:02:220] [ 18338][HWAPI_WMBUS]: ADD 07: ID 37178467␍␊
[10:40:02:268] [ 18393][HWAPI_WMBUS]: ADD 08: ID 9101D044␍␊
[10:40:02:316] [ 18448][HWAPI_WMBUS]: ADD 09: ID 5301EB90␍␊
[10:40:02:380] [ 18503][HWAPI_WMBUS]: ADD 10: ID 5811F9EA␍␊
[10:40:02:956] [ 19075][STDOUT]: TX LORAWAN: ␍␊
[10:40:02:988] [ 19111][STDOUT]: ␍␊
[10:40:02:988] F6 0A 98 7F CA 41 ␍␊
[10:40:03:036] [ 19157][STDOUT]: ␍␊
[10:40:03:036] [ 19167][LORA]: DR4␍␊
[10:40:03:196] [ 19325][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[10:40:03:388] [ 19522][STDOUT]: Sending fragmented message 1/1 ␍␊
[10:40:03:436] [ 19560][STDOUT]: ␍␊
[10:40:03:452] 01 01 F6 0A 98 7F CA 41 ␍␊
[10:40:03:484] [ 19606][STDOUT]: ␍␊
[10:40:03:484] [ 19617][HWAPI_LORA]: setting port to 50.␍␊
[10:40:03:520] [ 19622][HWAPI_LORA]: 8 bytes of data will be sent␍␊
[10:40:03:520] [ 19628][LORA]: get stack ready...␍␊
[10:40:03:520] [ 19632][LORA]: send data now (1 retransmission/s): ␍␊
[10:40:03:520] ⇥ 01 01 F6 0A 98 7F CA 41 ␍␊
[10:40:03:520] [ 19641][LORA]: ␍␊
[10:40:03:563] [ 19662][LORAMAC]: # === MCPS-Request == # ␍␊
[10:40:03:563] [ 19668][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[10:40:03:563] [ 19675][LORAMAC]: # ===== # ␍␊
[10:40:03:563] [ 19678][LORAMAC]: STATUS : OK ␍␊
[10:40:09:881] [ 26017][LORAMAC]: # === MCPS-Confirm == # ␍␊
[10:40:09:936] [ 26022][LORAMAC]: STATUS : OK ␍␊
[10:40:09:936] [ 26026][LORAMAC]: # = UPLINK FRAME 10 = # ␍␊
[10:40:09:936] [ 26033][LORAMAC]: ␍␊
[10:40:09:936] [ 26036][LORAMAC]: CLASS : A ␍␊
[10:40:09:936] [ 26040][LORAMAC]: ␍␊
[10:40:09:936] [ 26043][LORAMAC]: TX PORT : 50 ␍␊
[10:40:09:936] [ 26047][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[10:40:09:936] [ 26053][LORAMAC]: 01 01 F6 0A 98 7F CA 41 ␍␊
[10:40:09:936] [ 26058][LORAMAC]: ␍␊
[10:40:09:936] [ 26061][LORAMAC]: DATA RATE : DR_4 ␍␊
[10:40:09:936] [ 26066][LORAMAC]: U/L FREQ : 867300000 ␍␊
[10:40:09:936] [ 26071][LORAMAC]: TX POWER : 0 ␍␊
[10:40:09:967] [ 26075][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[10:40:09:967] [ 26080][LORAMAC]: ␍␊
[10:40:09:967] [ 26085][LORAMAC]: # == CTXS STORED == # ␍␊
[10:40:09:967] [ 26091][LORAMAC]: Size : 88 ␍␊
[10:40:10:143] [ 26277][LORA]: sending done.␍␊
[10:40:10:159] [ 26281][LORA]: Receive timeout!␍␊
[10:40:10:191] [ 26317][STDOUT]: All fragments sent! ␍␊
[10:40:10:271] [ 26396][STDOUT]: beacon next⇥ 43175⇥ 3575 ␍␊
[10:40:10:351] [ 26473][HWAPI_TIME]: Seconds to wait 3575␍␊
[10:40:10:367] [ 26495][SYS]: entering sleep mode␍␊
[11:39:49:256] [ 3609230][SYS]: exiting sleep mode␍␊
[11:39:49:256] [ 3609234][SYS]: --- New request ---␍␊
[11:39:49:480] [ 3609430][SYS]: Battery Voltage: 3626 mV␍␊
[11:39:49:480] [ 3609434][SYS]: setting battery state - 254/254␍␊
[11:39:49:480] [ 3609440][LUA]: Starting onWake() script␍␊
[11:39:49:624] [ 108][STDOUT]: onWake(), reason =⇥ timer ␍␊
[11:39:49:704] [ 178][STDOUT]: Uptime =⇥ 3607⇥ sec ␍␊
[11:39:49:784] [ 271][STDOUT]: serial =⇥ connected ␍␊
[11:39:49:848] [ 332][STDOUT]: NB-IoT = ⇥ inactive ␍␊
[11:39:49:912] [ 393][STDOUT]: time =⇥ 2016⇥ 1⇥ 1⇥ 1⇥ 37⇥ 22 ␍␊
[11:39:50:136] [ 615][STDOUT]: BEACON⇥ 2237⇥ 5842 ␍␊
[11:39:50:408] [ 879][STDOUT]: ⇥ -> ⇥ T1 mode ␍␊
[11:39:50:488] [ 964][STDOUT]: mode = ⇥ T1 ␍␊
[11:39:51:096] [ 1578][NBIOT]: Unknown signal level␍␊
[11:39:51:128] [ 1609][NBIOT]: IMEI = '863266050367229'␍␊
[11:39:51:304] [ 1784][STDOUT]: TX LORAWAN: ␍␊
[11:39:51:335] [ 1821][STDOUT]: ␍␊
[11:39:51:379] F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:39:51:410] [ 1889][STDOUT]: ␍␊
[11:39:51:426] [ 1900][LORA]: DR4␍␊
[11:39:51:570] [ 2057][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:39:51:768] [ 2254][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:39:51:817] [ 2292][STDOUT]: ␍␊
[11:39:51:817] 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:39:51:883] [ 2361][STDOUT]: ␍␊
[11:39:51:937] [ 2372][HWAPI_LORA]: setting port to 50.␍␊
[11:39:51:937] [ 2377][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[11:39:51:937] [ 2383][LORA]: Set confirmed - too many unconfirmed messages sent!␍␊
[11:39:51:937] [ 2391][LORA]: get stack ready...␍␊
[11:39:51:937] [ 2395][LORA]: send data now (1 retransmission/s): ␍␊
[11:39:51:937] ⇥ 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:39:51:953] [ 2427][LORA]: ␍␊
[11:39:51:968] [ 2455][LORAMAC]: # === MCPS-Request == # ␍␊
[11:39:51:997] [ 2460][LORAMAC]: # MCPS_CONFIRMED # ␍␊
[11:39:51:997] [ 2467][LORAMAC]: # ===== # ␍␊
[11:39:51:997] [ 2471][LORAMAC]: STATUS : OK ␍␊
[11:39:52:269] [ 2747][LORA]: sending done.␍␊
[11:39:58:556] [ 8992][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:39:58:556] [ 8997][LORAMAC]: STATUS : Rx 2 timeout ␍␊
[11:39:58:556] [ 9002][LORAMAC]: # = UPLINK FRAME 11 = # ␍␊
[11:39:58:556] [ 9009][LORAMAC]: ␍␊
[11:39:58:556] [ 9012][LORAMAC]: CLASS : A ␍␊
[11:39:58:556] [ 9016][LORAMAC]: ␍␊
[11:39:58:556] [ 9019][LORAMAC]: TX PORT : 50 ␍␊
[11:39:58:556] [ 9023][LORAMAC]: TX DATA : CONFIRMED - NACK ␍␊
[11:39:58:556] [ 9029][LORAMAC]: 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 ␍␊
[11:39:58:556] [ 9038][LORAMAC]: 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 ␍␊
[11:39:58:556] [ 9046][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[11:39:58:614] [ 9055][LORAMAC]: 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[11:39:58:614] [ 9063][LORAMAC]: 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:39:58:614] [ 9072][LORAMAC]: ␍␊
[11:39:58:614] [ 9075][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:39:58:614] [ 9079][LORAMAC]: U/L FREQ : 867500000 ␍␊
[11:39:58:614] [ 9085][LORAMAC]: TX POWER : 0 ␍␊
[11:39:58:614] [ 9089][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:39:58:614] [ 9094][LORAMAC]: ␍␊
[11:39:58:614] [ 9099][LORAMAC]: # == CTXS STORED == # ␍␊
[11:39:58:614] [ 9104][LORAMAC]: Size : 88 ␍␊
[11:39:59:286] [ 9769][LORA]: Receive timeout!␍␊
[11:39:59:318] [ 9806][STDOUT]: All fragments sent! ␍␊
[11:39:59:349] [ 9819][HWAPI_TIME]: Seconds to wait 5␍␊
[11:39:59:349] [ 9824][SYS]: entering sleep mode␍␊
[11:40:04:404] [ 14882][SYS]: exiting sleep mode␍␊
[11:40:04:435] [ 14918][STDOUT]: TX LORAWAN: ␍␊
[11:40:04:483] [ 14963][STDOUT]: ␍␊
[11:40:04:483] F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:04:550] [ 15031][STDOUT]: ␍␊
[11:40:04:567] [ 15042][LORA]: DR4␍␊
[11:40:04:710] [ 15199][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:40:04:909] [ 15396][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:40:04:957] [ 15435][STDOUT]: ␍␊
[11:40:04:957] 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:05:023] [ 15504][STDOUT]: ␍␊
[11:40:05:023] [ 15515][HWAPI_LORA]: setting port to 50.␍␊
[11:40:05:077] [ 15520][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[11:40:05:077] [ 15526][LORA]: Set confirmed.␍␊
[11:40:05:077] [ 15529][LORA]: get stack ready...␍␊
[11:40:05:077] [ 15534][LORA]: send data now (1 retransmission/s): ␍␊
[11:40:05:077] ⇥ 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:05:077] [ 15566][LORA]: ␍␊
[11:40:05:136] [ 15592][LORAMAC]: # === MCPS-Request == # ␍␊
[11:40:05:136] [ 15598][LORAMAC]: # MCPS_CONFIRMED # ␍␊
[11:40:05:136] [ 15605][LORAMAC]: # ===== # ␍␊
[11:40:05:136] [ 15609][LORAMAC]: STATUS : OK ␍␊
[11:40:11:690] [ 22130][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:40:11:690] [ 22135][LORAMAC]: STATUS : Rx 2 timeout ␍␊
[11:40:11:690] [ 22140][LORAMAC]: # = UPLINK FRAME 12 = # ␍␊
[11:40:11:690] [ 22147][LORAMAC]: ␍␊
[11:40:11:690] [ 22150][LORAMAC]: CLASS : A ␍␊
[11:40:11:690] [ 22154][LORAMAC]: ␍␊
[11:40:11:690] [ 22157][LORAMAC]: TX PORT : 50 ␍␊
[11:40:11:690] [ 22161][LORAMAC]: TX DATA : CONFIRMED - NACK ␍␊
[11:40:11:690] [ 22167][LORAMAC]: 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 ␍␊
[11:40:11:690] [ 22176][LORAMAC]: 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 ␍␊
[11:40:11:690] [ 22184][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[11:40:11:749] [ 22193][LORAMAC]: 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[11:40:11:749] [ 22201][LORAMAC]: 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:11:749] [ 22210][LORAMAC]: ␍␊
[11:40:11:749] [ 22213][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:40:11:749] [ 22217][LORAMAC]: U/L FREQ : 867100000 ␍␊
[11:40:11:749] [ 22223][LORAMAC]: TX POWER : 0 ␍␊
[11:40:11:749] [ 22227][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:40:11:749] [ 22232][LORAMAC]: ␍␊
[11:40:11:749] [ 22237][LORAMAC]: # == CTXS STORED == # ␍␊
[11:40:11:749] [ 22242][LORAMAC]: Size : 32 ␍␊
[11:40:11:980] [ 22452][LORA]: sending done.␍␊
[11:40:11:980] [ 22456][LORA]: Receive timeout!␍␊
[11:40:12:012] [ 22492][STDOUT]: All fragments sent! ␍␊
[11:40:12:012] [ 22505][HWAPI_TIME]: Seconds to wait 25␍␊
[11:40:12:034] [ 22510][SYS]: entering sleep mode␍␊
[11:40:37:084] [ 47569][SYS]: exiting sleep mode␍␊
[11:40:37:116] [ 47605][STDOUT]: TX LORAWAN: ␍␊
[11:40:37:148] [ 47641][STDOUT]: ␍␊
[11:40:37:198] F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:37:230] [ 47710][STDOUT]: ␍␊
[11:40:37:230] [ 47721][LORA]: DR4␍␊
[11:40:37:390] [ 47878][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:40:37:582] [ 48075][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:40:37:630] [ 48114][STDOUT]: ␍␊
[11:40:37:666] 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:37:698] [ 48183][STDOUT]: ␍␊
[11:40:37:753] [ 48193][HWAPI_LORA]: setting port to 50.␍␊
[11:40:37:753] [ 48198][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[11:40:37:753] [ 48205][LORA]: Set confirmed.␍␊
[11:40:37:753] [ 48208][LORA]: get stack ready...␍␊
[11:40:37:753] [ 48213][LORA]: send data now (1 retransmission/s): ␍␊
[11:40:37:753] ⇥ 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:37:753] [ 48244][LORA]: ␍␊
[11:40:37:785] [ 48273][LORAMAC]: # === MCPS-Request == # ␍␊
[11:40:37:813] [ 48278][LORAMAC]: # MCPS_CONFIRMED # ␍␊
[11:40:37:813] [ 48285][LORAMAC]: # ===== # ␍␊
[11:40:37:813] [ 48289][LORAMAC]: STATUS : OK ␍␊
[11:40:38:085] [ 48565][LORA]: sending done.␍␊
[11:40:43:172] [ 53667][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:40:43:227] [ 53672][LORAMAC]: STATUS : OK ␍␊
[11:40:43:227] [ 53676][LORAMAC]: # = UPLINK FRAME 12 = # ␍␊
[11:40:43:227] [ 53683][LORAMAC]: ␍␊
[11:40:43:227] [ 53685][LORAMAC]: CLASS : A ␍␊
[11:40:43:227] [ 53690][LORAMAC]: ␍␊
[11:40:43:227] [ 53693][LORAMAC]: TX PORT : 50 ␍␊
[11:40:43:227] [ 53697][LORAMAC]: TX DATA : CONFIRMED - ACK ␍␊
[11:40:43:227] [ 53703][LORAMAC]: 01 01 F0 FF 02 01 18 0E 00 00 18 0E 00 00 BD 08 ␍␊
[11:40:43:227] [ 53712][LORAMAC]: 00 00 D2 16 00 00 31 2E 32 00 63 2A 0E 38 36 33 ␍␊
[11:40:43:227] [ 53720][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[11:40:43:283] [ 53729][LORAMAC]: 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[11:40:43:283] [ 53737][LORAMAC]: 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:40:43:283] [ 53746][LORAMAC]: ␍␊
[11:40:43:283] [ 53748][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:40:43:283] [ 53753][LORAMAC]: U/L FREQ : 868300000 ␍␊
[11:40:43:283] [ 53758][LORAMAC]: TX POWER : 0 ␍␊
[11:40:43:283] [ 53763][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:40:43:283] [ 53768][LORAMAC]: ␍␊
[11:40:43:283] [ 53770][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:40:43:283] [ 53776][LORAMAC]: STATUS : OK ␍␊
[11:40:43:340] [ 53780][LORAMAC]: # = DOWNLINK FRAME 3 = # ␍␊
[11:40:43:340] [ 53787][LORAMAC]: RX WINDOW : 1 ␍␊
[11:40:43:340] [ 53791][LORAMAC]: RX PORT : 10 ␍␊
[11:40:43:340] [ 53796][LORAMAC]: RX DATA : ␍␊
[11:40:43:340] [ 53800][LORAMAC]: 01 01 04 02 01 ␍␊
[11:40:43:340] [ 53804][LORAMAC]: ␍␊
[11:40:43:340] [ 53807][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:40:43:340] [ 53812][LORAMAC]: RX RSSI : -112 ␍␊
[11:40:43:340] [ 53817][LORAMAC]: RX SNR : 0 ␍␊
[11:40:43:340] [ 53821][LORAMAC]: ␍␊
[11:40:43:340] [ 53824][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:40:43:340] [ 53831][LORAMAC]: # == CTXS STORED == # ␍␊
[11:40:43:355] [ 53836][LORAMAC]: Size : 88 ␍␊
[11:40:43:580] [ 54047][LORA]: Continue unconfirmed msg.␍␊
[11:40:43:580] [ 54052][HWAPI_LORA]: Successfully sent to LoRa, received 5 bytes, stored in loraRxBuff ␊
[11:40:43:580] ␍␍␊
[11:40:43:628] [ 54111][STDOUT]: All fragments sent! ␍␊
[11:40:43:690] [ 54165][STDOUT]: Received single fragment downlink message! ␍␊
[11:40:43:722] [ 54204][STDOUT]: RX LORAWAN: ␍␊
[11:40:43:754] [ 54241][STDOUT]: ␍␊
[11:40:43:770] 04 02 01 ␍␊
[11:40:43:802] [ 54285][STDOUT]: ␍ ␊
[11:40:43:818] [ 54313][LORA]: DR4␍␊
[11:40:43:865] [ 54348][STDOUT]: scan table size: ⇥ 800 ␍␊
[11:40:43:930] [ 54418][STDOUT]: mode = ⇥ T1 ␍␊
[11:40:47:385] [ 57903][STDOUT]: 95794144⇥ new @⇥ -59 ␍␊
[11:40:47:497] [ 58006][STDOUT]: tlen=⇥ 1 ␍␊
[11:40:51:688] [ 62219][STDOUT]: 17846738⇥ new @⇥ -101 ␍␊
[11:40:51:784] [ 62321][STDOUT]: tlen=⇥ 2 ␍␊
[11:40:56:887] [ 67504][STDOUT]: 05155702⇥ new @⇥ -94 ␍␊
[11:40:56:998] [ 67606][STDOUT]: tlen=⇥ 3 ␍␊
[11:41:02:693] [ 73373][STDOUT]: old⇥ -101⇥ now⇥ -99 ␍␊
[11:41:02:853] [ 73548][STDOUT]: 17846738⇥ better @⇥ -99 ␍␊
[11:41:02:965] [ 73651][STDOUT]: tlen=⇥ 3 ␍␊
[11:41:07:972] [ 78502][STDOUT]: 19854733⇥ new @⇥ -86 ␍␊
[11:41:08:084] [ 78604][STDOUT]: tlen=⇥ 4 ␍␊
[11:41:14:115] [ 84697][STDOUT]: old⇥ -99⇥ now⇥ -100 ␍␊
[11:41:14:275] [ 84864][STDOUT]: 17846738⇥ drop @⇥ -100 ␍␊
[11:41:17:714] [ 88384][STDOUT]: 37307881⇥ new @⇥ -97 ␍␊
[11:41:17:810] [ 88486][STDOUT]: tlen=⇥ 5 ␍␊
[11:41:25:376] [ 95904][STDOUT]: 24014895⇥ new @⇥ -88 ␍␊
[11:41:25:472] [ 96007][STDOUT]: tlen=⇥ 6 ␍␊
[11:41:32:671] [ 103061][STDOUT]: old⇥ -97⇥ now⇥ -94 ␍␊
[11:41:32:830] [ 103228][STDOUT]: 37307881⇥ better @⇥ -94 ␍␊
[11:41:32:942] [ 103331][STDOUT]: tlen=⇥ 6 ␍␊
[11:41:48:475] [ 118705][STDOUT]: old⇥ -99⇥ now⇥ -98 ␍␊
[11:41:48:651] [ 118880][STDOUT]: 17846738⇥ better @⇥ -98 ␍␊
[11:41:48:763] [ 118983][STDOUT]: tlen=⇥ 6 ␍␊
[11:42:00:152] [ 130320][STDOUT]: old⇥ -98⇥ now⇥ -97 ␍␊
[11:42:00:328] [ 130495][STDOUT]: 17846738⇥ better @⇥ -97 ␍␊
[11:42:00:424] [ 130598][STDOUT]: tlen=⇥ 6 ␍␊
[11:42:06:439] [ 136733][STDOUT]: 67981223⇥ new @⇥ -97 ␍␊
[11:42:06:535] [ 136835][STDOUT]: tlen=⇥ 7 ␍␊
[11:42:11:638] [ 141968][STDOUT]: old⇥ -97⇥ now⇥ -99 ␍␊
[11:42:11:813] [ 142135][STDOUT]: 17846738⇥ drop @⇥ -99 ␍␊
[11:42:13:941] [ 144335][STDOUT]: old⇥ -86⇥ now⇥ -84 ␍␊
[11:42:14:117] [ 144510][STDOUT]: 19854733⇥ better @⇥ -84 ␍␊
[11:42:14:213] [ 144613][STDOUT]: tlen=⇥ 7 ␍␊
[11:42:22:947] [ 153385][STDOUT]: old⇥ -97⇥ now⇥ -100 ␍␊
[11:42:23:123] [ 153552][STDOUT]: 17846738⇥ drop @⇥ -100 ␍␊
[11:42:33:568] [ 164030][STDOUT]: 90755824⇥ new @⇥ -79 ␍␊
[11:42:33:680] [ 164133][STDOUT]: tlen=⇥ 8 ␍␊
[11:42:36:592] [ 167067][STDOUT]: 37308538⇥ new @⇥ -91 ␍␊
[11:42:36:688] [ 167169][STDOUT]: tlen=⇥ 9 ␍␊
[11:42:45:422] [ 175822][STDOUT]: old⇥ -97⇥ now⇥ -101 ␍␊
[11:42:45:598] [ 175989][STDOUT]: 17846738⇥ drop @⇥ -101 ␍␊
[11:42:45:694] [ 176092][STDOUT]: TX LORAWAN: ␍␊
[11:42:45:726] [ 176128][STDOUT]: ␍␊
[11:42:45:788] F3 08 44 41 79 95 93 44 C5 FF 01 07 38 67 84 17 24 34 9B FF 01 04 02 57 15 05 24 34 A2 FF 01 07 38 67 84 17 24 34 9D FF 01 07 33 47 85 19 B4 09 AA FF 01 37 81 78 30 37 93 44 9F FF 01 07 95 48 01 24 24 34 A8 FF 01 37 81 78 30 37 93 44 A2 FF 01 07 38 67 84 17 24 34 9E FF 01 07 38 67 84 17 24 34 9F FF 01 37 23 12 98 67 93 44 9F FF 01 07 33 47 85 19 B4 09 AC FF 01 80 24 58 75 90 68 50 B1 FF 01 37 38 85 30 37 93 44 A5 FF 01 ␍␊
[11:42:45:820] [ 176217][STDOUT]: ␍␊
[11:42:45:836] [ 176227][LORA]: DR4␍␊
[11:42:45:980] [ 176385][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:42:46:178] [ 176583][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:42:46:226] [ 176621][STDOUT]: ␍␊
[11:42:46:226] 01 01 F3 08 44 41 79 95 93 44 C5 FF 01 07 38 67 84 17 24 34 9B FF 01 04 02 57 15 05 24 34 A2 FF 01 07 38 67 84 17 24 34 9D FF 01 07 33 47 85 19 B4 09 AA FF 01 37 81 78 30 37 93 44 9F FF 01 07 95 48 01 24 24 34 A8 FF 01 37 81 78 30 37 93 44 A2 FF 01 07 38 67 84 17 24 34 9E FF 01 07 38 67 84 17 24 34 9F FF 01 37 23 12 98 67 93 44 9F FF 01 07 33 47 85 19 B4 09 AC FF 01 80 24 58 75 90 68 50 B1 FF 01 37 38 85 30 37 93 44 A5 FF 01 ␍␊
[11:42:46:313] [ 176710][STDOUT]: ␍␊
[11:42:46:336] [ 176721][HWAPI_LORA]: setting port to 50.␍␊
[11:42:46:336] [ 176726][HWAPI_LORA]: 143 bytes of data will be sent␍␊
[11:42:46:408] [ 176763][LORA]: get stack ready...␍␊
[11:42:46:408] [ 176767][LORA]: send data now (1 retransmission/s): ␍␊
[11:42:46:408] ⇥ 01 01 F3 08 44 41 79 95 93 44 C5 FF 01 07 38 67 84 17 24 34 9B FF 01 04 02 57 15 05 24 34 A2 FF 01 07 38 67 84 17 24 34 9D FF 01 07 33 47 85 19 B4 09 AA FF 01 37 81 78 30 37 93 44 9F FF 01 07 95 48 01 24 24 34 A8 FF 01 37 81 78 30 37 93 44 A2 FF 01 07 38 67 84 17 24 34 9E FF 01 07 38 67 84 17 24 34 9F FF 01 37 23 12 98 67 93 44 9F FF 01 07 33 47 85 19 B4 09 AC FF 01 80 24 58 75 90 68 50 B1 FF 01 37 38 85 30 37 93 44 A5 FF 01 ␍␊
[11:42:46:423] [ 176819][LORA]: ␍␊
[11:42:46:480] [ 176851][LORAMAC]: # === MCPS-Request == # ␍␊
[11:42:46:480] [ 176857][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[11:42:46:480] [ 176864][LORAMAC]: # ===== # ␍␊
[11:42:46:480] [ 176868][LORAMAC]: STATUS : OK ␍␊
[11:42:46:913] [ 177308][LORA]: sending done.␍␊
[11:42:52:045] [ 182399][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:42:52:045] [ 182405][LORAMAC]: STATUS : OK ␍␊
[11:42:52:045] [ 182409][LORAMAC]: # = UPLINK FRAME 13 = # ␍␊
[11:42:52:045] [ 182416][LORAMAC]: ␍␊
[11:42:52:045] [ 182418][LORAMAC]: CLASS : A ␍␊
[11:42:52:045] [ 182423][LORAMAC]: ␍␊
[11:42:52:045] [ 182426][LORAMAC]: TX PORT : 50 ␍␊
[11:42:52:045] [ 182430][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[11:42:52:045] [ 182436][LORAMAC]: 01 01 F3 08 44 41 79 95 93 44 C5 FF 01 07 38 67 ␍␊
[11:42:52:045] [ 182444][LORAMAC]: 84 17 24 34 9B FF 01 04 02 57 15 05 24 34 A2 FF ␍␊
[11:42:52:045] [ 182453][LORAMAC]: 01 07 38 67 84 17 24 34 9D FF 01 07 33 47 85 19 ␍␊
[11:42:52:103] [ 182461][LORAMAC]: B4 09 AA FF 01 37 81 78 30 37 93 44 9F FF 01 07 ␍␊
[11:42:52:103] [ 182470][LORAMAC]: 95 48 01 24 24 34 A8 FF 01 37 81 78 30 37 93 44 ␍␊
[11:42:52:103] [ 182478][LORAMAC]: A2 FF 01 07 38 67 84 17 24 34 9E FF 01 07 38 67 ␍␊
[11:42:52:103] [ 182487][LORAMAC]: 84 17 24 34 9F FF 01 37 23 12 98 67 93 44 9F FF ␍␊
[11:42:52:103] [ 182495][LORAMAC]: 01 07 33 47 85 19 B4 09 AC FF 01 80 24 58 75 90 ␍␊
[11:42:52:103] [ 182504][LORAMAC]: 68 50 B1 FF 01 37 38 85 30 37 93 44 A5 FF 01 ␍␊
[11:42:52:103] [ 182512][LORAMAC]: ␍␊
[11:42:52:158] [ 182515][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:42:52:158] [ 182519][LORAMAC]: U/L FREQ : 868100000 ␍␊
[11:42:52:158] [ 182524][LORAMAC]: TX POWER : 0 ␍␊
[11:42:52:158] [ 182529][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:42:52:158] [ 182534][LORAMAC]: ␍␊
[11:42:52:158] [ 182536][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:42:52:158] [ 182542][LORAMAC]: STATUS : OK ␍␊
[11:42:52:158] [ 182546][LORAMAC]: # = DOWNLINK FRAME 4 = # ␍␊
[11:42:52:158] [ 182553][LORAMAC]: RX WINDOW : 1 ␍␊
[11:42:52:158] [ 182557][LORAMAC]: RX PORT : 10 ␍␊
[11:42:52:158] [ 182562][LORAMAC]: RX DATA : ␍␊
[11:42:52:158] [ 182566][LORAMAC]: 01 01 08 ␍␊
[11:42:52:209] [ 182570][LORAMAC]: ␍␊
[11:42:52:209] [ 182573][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:42:52:209] [ 182577][LORAMAC]: RX RSSI : -113 ␍␊
[11:42:52:209] [ 182582][LORAMAC]: RX SNR : -1 ␍␊
[11:42:52:209] [ 182586][LORAMAC]: ␍␊
[11:42:52:209] [ 182589][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:42:52:209] [ 182597][LORAMAC]: # == CTXS STORED == # ␍␊
[11:42:52:209] [ 182602][LORAMAC]: Size : 88 ␍␊
[11:42:52:426] [ 182813][HWAPI_LORA]: Successfully sent to LoRa, received 3 bytes, stored in loraRxBuff ␊
[11:42:52:426] ␍␍␊
[11:42:52:474] [ 182872][STDOUT]: All fragments sent! ␍␊
[11:42:52:522] [ 182926][STDOUT]: Received single fragment downlink message! ␍␊
[11:42:52:570] [ 182966][STDOUT]: RX LORAWAN: ␍␊
[11:42:52:603] [ 183002][STDOUT]: ␍␊
[11:42:52:618] 08 ␍␊
[11:42:52:651] [ 183046][STDOUT]: ␍␊
[11:42:52:698] [ 183098][STDOUT]: TX LORAWAN: ␍␊
[11:42:52:730] [ 183135][STDOUT]: ␍␊
[11:42:52:746] FB ␍␊
[11:42:52:778] [ 183179][STDOUT]: ␍␊
[11:42:52:794] [ 183190][LORA]: DR4␍␊
[11:42:52:938] [ 183347][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:42:53:136] [ 183537][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:42:53:168] [ 183575][STDOUT]: ␍␊
[11:42:53:184] 01 01 FB ␍␊
[11:42:53:216] [ 183620][STDOUT]: ␍␊
[11:42:53:256] [ 183630][HWAPI_LORA]: setting port to 50.␍␊
[11:42:53:256] [ 183635][HWAPI_LORA]: 3 bytes of data will be sent␍␊
[11:42:53:256] [ 183641][LORA]: get stack ready...␍␊
[11:42:53:256] [ 183646][LORA]: send data now (1 retransmission/s): ␍␊
[11:42:53:256] ⇥ 01 01 FB ␍␊
[11:42:53:256] [ 183653][LORA]: ␍␊
[11:42:53:300] [ 183674][LORAMAC]: # === MCPS-Request == # ␍␊
[11:42:53:300] [ 183679][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[11:42:53:300] [ 183686][LORAMAC]: # ===== # ␍␊
[11:42:53:300] [ 183690][LORAMAC]: STATUS : OK ␍␊
[11:42:58:505] [ 188863][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:42:58:505] [ 188869][LORAMAC]: STATUS : OK ␍␊
[11:42:58:505] [ 188873][LORAMAC]: # = UPLINK FRAME 14 = # ␍␊
[11:42:58:505] [ 188880][LORAMAC]: ␍␊
[11:42:58:505] [ 188882][LORAMAC]: CLASS : A ␍␊
[11:42:58:505] [ 188887][LORAMAC]: ␍␊
[11:42:58:505] [ 188890][LORAMAC]: TX PORT : 50 ␍␊
[11:42:58:505] [ 188894][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[11:42:58:505] [ 188900][LORAMAC]: 01 01 FB ␍␊
[11:42:58:505] [ 188903][LORAMAC]: ␍␊
[11:42:58:505] [ 188906][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:42:58:505] [ 188911][LORAMAC]: U/L FREQ : 867500000 ␍␊
[11:42:58:505] [ 188916][LORAMAC]: TX POWER : 0 ␍␊
[11:42:58:560] [ 188920][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:42:58:560] [ 188925][LORAMAC]: ␍␊
[11:42:58:560] [ 188928][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:42:58:560] [ 188934][LORAMAC]: STATUS : OK ␍␊
[11:42:58:560] [ 188938][LORAMAC]: # = DOWNLINK FRAME 5 = # ␍␊
[11:42:58:560] [ 188944][LORAMAC]: RX WINDOW : 1 ␍␊
[11:42:58:560] [ 188949][LORAMAC]: RX PORT : 10 ␍␊
[11:42:58:560] [ 188953][LORAMAC]: RX DATA : ␍␊
[11:42:58:560] [ 188958][LORAMAC]: 01 01 08 ␍␊
[11:42:58:560] [ 188961][LORAMAC]: ␍␊
[11:42:58:560] [ 188964][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:42:58:560] [ 188969][LORAMAC]: RX RSSI : -113 ␍␊
[11:42:58:598] [ 188974][LORAMAC]: RX SNR : -3 ␍␊
[11:42:58:598] [ 188978][LORAMAC]: ␍␊
[11:42:58:598] [ 188981][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:42:58:598] [ 188988][LORAMAC]: # == CTXS STORED == # ␍␊
[11:42:58:598] [ 188993][LORAMAC]: Size : 88 ␍␊
[11:42:58:822] [ 189205][LORA]: sending done.␍␊
[11:42:58:822] [ 189209][HWAPI_LORA]: Successfully sent to LoRa, received 3 bytes, stored in loraRxBuff ␊
[11:42:58:822] ␍␍␊
[11:42:58:870] [ 189268][STDOUT]: All fragments sent! ␍␊
[11:42:58:902] [ 189314][STDOUT]: Received single fragment downlink message! ␍␊
[11:42:58:950] [ 189353][STDOUT]: RX LORAWAN: ␍␊
[11:42:58:982] [ 189390][STDOUT]: ␍␊
[11:42:58:998] 08 ␍␊
[11:42:59:030] [ 189434][STDOUT]: ␍␊
[11:42:59:094] [ 189494][STDOUT]: beacon next⇥ 39406⇥ 3411 ␍␊
[11:42:59:174] [ 189572][HWAPI_TIME]: Seconds to wait 3411␍␊
[11:42:59:190] [ 189593][SYS]: entering sleep mode␍␊
[11:52:08:919] [ 739329][SYS]: exiting sleep mode␍␊
[11:52:08:935] [ 739335][SYS]: button pressed␍␊
[11:52:08:983] [ 739391][SYS]: Entering config - serial line detected␍␊
[11:52:09:591] [ 740000][SYS]: waiting for configuration...␍␊
[11:52:09:607] [ 740005][SYS]: configuration mode entered␍␊
[11:52:19:589] [ 750005][SYS]: configuration mode exited␍␊
[11:52:19:611] [ 750009][SYS]: --- New request ---␍␊
[11:52:19:817] [ 750206][SYS]: Battery Voltage: 3620 mV␍␊
[11:52:19:817] [ 750210][SYS]: setting battery state - 254/254␍␊
[11:52:19:817] [ 750216][LUA]: Starting onWake() script␍␊
[11:52:19:961] [ 108][STDOUT]: onWake(), reason =⇥ button ␍␊
[11:52:20:025] [ 178][STDOUT]: Uptime =⇥ 4357⇥ sec ␍␊
[11:52:20:121] [ 271][STDOUT]: serial =⇥ connected ␍␊
[11:52:20:185] [ 332][STDOUT]: NB-IoT = ⇥ inactive ␍␊
[11:52:20:249] [ 394][STDOUT]: time =⇥ 2016⇥ 1⇥ 1⇥ 1⇥ 49⇥ 52 ␍␊
[11:52:20:473] [ 616][STDOUT]: BEACON⇥ 5842⇥ 6593 ␍␊
[11:52:20:729] [ 881][STDOUT]: ⇥ -> ⇥ T1 mode ␍␊
[11:52:20:809] [ 966][STDOUT]: mode = ⇥ T1 ␍␊
[11:52:21:417] [ 1572][NBIOT]: Unknown signal level␍␊
[11:52:21:448] [ 1603][NBIOT]: IMEI = '863266050367229'␍␊
[11:52:21:625] [ 1770][STDOUT]: TX LORAWAN: ␍␊
[11:52:21:656] [ 1807][STDOUT]: ␍␊
[11:52:21:694] F0 FF 03 00 06 11 00 00 06 11 00 00 BD 08 00 00 C1 19 00 00 31 2E 32 00 63 23 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:52:21:726] [ 1875][STDOUT]: ␍␊
[11:52:21:742] [ 1886][LORA]: DR4␍␊
[11:52:21:886] [ 2043][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:52:22:084] [ 2241][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:52:22:132] [ 2279][STDOUT]: ␍␊
[11:52:22:132] 01 01 F0 FF 03 00 06 11 00 00 06 11 00 00 BD 08 00 00 C1 19 00 00 31 2E 32 00 63 23 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:52:22:199] [ 2348][STDOUT]: ␍␊
[11:52:22:262] [ 2359][HWAPI_LORA]: setting port to 50.␍␊
[11:52:22:262] [ 2364][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[11:52:22:262] [ 2370][LORA]: get stack ready...␍␊
[11:52:22:262] [ 2375][LORA]: send data now (1 retransmission/s): ␍␊
[11:52:22:262] ⇥ 01 01 F0 FF 03 00 06 11 00 00 06 11 00 00 BD 08 00 00 C1 19 00 00 31 2E 32 00 63 23 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:52:22:262] [ 2407][LORA]: ␍␊
[11:52:22:278] [ 2435][LORAMAC]: # === MCPS-Request == # ␍␊
[11:52:22:307] [ 2440][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[11:52:22:307] [ 2447][LORAMAC]: # ===== # ␍␊
[11:52:22:307] [ 2451][LORAMAC]: STATUS : OK ␍␊
[11:52:22:579] [ 2727][LORA]: sending done.␍␊
[11:52:27:722] [ 7828][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:52:27:722] [ 7834][LORAMAC]: STATUS : OK ␍␊
[11:52:27:722] [ 7838][LORAMAC]: # = UPLINK FRAME 15 = # ␍␊
[11:52:27:722] [ 7845][LORAMAC]: ␍␊
[11:52:27:722] [ 7847][LORAMAC]: CLASS : A ␍␊
[11:52:27:722] [ 7852][LORAMAC]: ␍␊
[11:52:27:722] [ 7855][LORAMAC]: TX PORT : 50 ␍␊
[11:52:27:722] [ 7859][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[11:52:27:722] [ 7865][LORAMAC]: 01 01 F0 FF 03 00 06 11 00 00 06 11 00 00 BD 08 ␍␊
[11:52:27:722] [ 7873][LORAMAC]: 00 00 C1 19 00 00 31 2E 32 00 63 23 0E 38 36 33 ␍␊
[11:52:27:722] [ 7882][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[11:52:27:778] [ 7890][LORAMAC]: 00 D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[11:52:27:778] [ 7899][LORAMAC]: 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 19 ␍␊
[11:52:27:778] [ 7907][LORAMAC]: ␍␊
[11:52:27:778] [ 7910][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:52:27:778] [ 7915][LORAMAC]: U/L FREQ : 867700000 ␍␊
[11:52:27:778] [ 7920][LORAMAC]: TX POWER : 0 ␍␊
[11:52:27:778] [ 7924][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:52:27:778] [ 7929][LORAMAC]: ␍␊
[11:52:27:778] [ 7932][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:52:27:778] [ 7937][LORAMAC]: STATUS : OK ␍␊
[11:52:27:835] [ 7942][LORAMAC]: # = DOWNLINK FRAME 6 = # ␍␊
[11:52:27:835] [ 7948][LORAMAC]: RX WINDOW : 1 ␍␊
[11:52:27:835] [ 7953][LORAMAC]: RX PORT : 10 ␍␊
[11:52:27:835] [ 7957][LORAMAC]: RX DATA : ␍␊
[11:52:27:835] [ 7961][LORAMAC]: 01 01 0F 01 02 ␍␊
[11:52:27:835] [ 7966][LORAMAC]: ␍␊
[11:52:27:835] [ 7969][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:52:27:835] [ 7974][LORAMAC]: RX RSSI : -109 ␍␊
[11:52:27:835] [ 7978][LORAMAC]: RX SNR : 4 ␍␊
[11:52:27:835] [ 7983][LORAMAC]: ␍␊
[11:52:27:835] [ 7985][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:52:27:835] [ 7993][LORAMAC]: # == CTXS STORED == # ␍␊
[11:52:27:851] [ 7998][LORAMAC]: Size : 88 ␍␊
[11:52:28:072] [ 8211][HWAPI_LORA]: Successfully sent to LoRa, received 5 bytes, stored in loraRxBuff ␊
[11:52:28:072] ␍␍␊
[11:52:28:120] [ 8270][STDOUT]: All fragments sent! ␍␊
[11:52:28:168] [ 8324][STDOUT]: Received single fragment downlink message! ␍␊
[11:52:28:216] [ 8364][STDOUT]: RX LORAWAN: ␍␊
[11:52:28:248] [ 8400][STDOUT]: ␍␊
[11:52:28:264] 0F 01 02 ␍␊
[11:52:28:296] [ 8444][STDOUT]: ␍␊
[11:52:28:312] [ 8472][LORA]: DR4␍␊
[11:52:28:360] [ 8507][STDOUT]: scan table size: ⇥ 800 ␍␊
[11:52:28:424] [ 8577][STDOUT]: mode = ⇥ M ␍␊
[11:54:03:826] [ 102386][STDOUT]: 11F9EA58⇥ new @⇥ -83 ␍␊
[11:54:03:922] [ 102488][STDOUT]: tlen=⇥ 1 ␍␊
[11:54:04:146] [ 102711][STDOUT]: TX LORAWAN: ␍␊
[11:54:04:178] [ 102748][STDOUT]: ␍␊
[11:54:04:212] F0 F8 03 58 EA F9 11 14 06 AD FF 02 00 16 00 E9 FF AB DF 13 FD 4E 23 C3 4E 00 00 70 0C 00 00 00 00 00 00 4C 60 8C 1E C2 52 ␍␊
[11:54:04:244] [ 102804][STDOUT]: ␍␊
[11:54:04:260] [ 102823][LORA]: DR4␍␊
[11:54:04:428] [ 102981][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:54:04:604] [ 103179][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:54:04:652] [ 103217][STDOUT]: ␍␊
[11:54:04:681] 01 01 F0 F8 03 58 EA F9 11 14 06 AD FF 02 00 16 00 E9 FF AB DF 13 FD 4E 23 C3 4E 00 00 70 0C 00 00 00 00 00 00 4C 60 8C 1E C2 52 ␍␊
[11:54:04:713] [ 103274][STDOUT]: ␍␊
[11:54:04:713] [ 103285][HWAPI_LORA]: setting port to 50.␍␊
[11:54:04:735] [ 103290][HWAPI_LORA]: 43 bytes of data will be sent␍␊
[11:54:04:793] [ 103327][LORA]: get stack ready...␍␊
[11:54:04:793] [ 103331][LORA]: send data now (1 retransmission/s): ␍␊
[11:54:04:793] ⇥ 01 01 F0 F8 03 58 EA F9 11 14 06 AD FF 02 00 16 00 E9 FF AB DF 13 FD 4E 23 C3 4E 00 00 70 0C 00 00 00 00 00 00 4C 60 8C 1E C2 52 ␍␊
[11:54:04:793] [ 103351][LORA]: ␍␊
[11:54:04:836] [ 103376][LORAMAC]: # === MCPS-Request == # ␍␊
[11:54:04:836] [ 103381][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[11:54:04:836] [ 103389][LORAMAC]: # ===== # ␍␊
[11:54:04:836] [ 103392][LORAMAC]: STATUS : OK ␍␊
[11:54:05:012] [ 103576][LORA]: sending done.␍␊
[11:54:10:145] [ 108667][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:54:10:145] [ 108673][LORAMAC]: STATUS : OK ␍␊
[11:54:10:145] [ 108677][LORAMAC]: # = UPLINK FRAME 16 = # ␍␊
[11:54:10:145] [ 108684][LORAMAC]: ␍␊
[11:54:10:145] [ 108686][LORAMAC]: CLASS : A ␍␊
[11:54:10:145] [ 108691][LORAMAC]: ␍␊
[11:54:10:145] [ 108694][LORAMAC]: TX PORT : 50 ␍␊
[11:54:10:145] [ 108698][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[11:54:10:145] [ 108704][LORAMAC]: 01 01 F0 F8 03 58 EA F9 11 14 06 AD FF 02 00 16 ␍␊
[11:54:10:145] [ 108712][LORAMAC]: 00 E9 FF AB DF 13 FD 4E 23 C3 4E 00 00 70 0C 00 ␍␊
[11:54:10:145] [ 108721][LORAMAC]: 00 00 00 00 00 4C 60 8C 1E C2 52 ␍␊
[11:54:10:199] [ 108727][LORAMAC]: ␍␊
[11:54:10:199] [ 108730][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:54:10:199] [ 108735][LORAMAC]: U/L FREQ : 867100000 ␍␊
[11:54:10:199] [ 108740][LORAMAC]: TX POWER : 0 ␍␊
[11:54:10:199] [ 108744][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:54:10:199] [ 108749][LORAMAC]: ␍␊
[11:54:10:199] [ 108752][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:54:10:199] [ 108757][LORAMAC]: STATUS : OK ␍␊
[11:54:10:199] [ 108762][LORAMAC]: # = DOWNLINK FRAME 7 = # ␍␊
[11:54:10:199] [ 108768][LORAMAC]: RX WINDOW : 1 ␍␊
[11:54:10:199] [ 108773][LORAMAC]: RX PORT : 10 ␍␊
[11:54:10:199] [ 108777][LORAMAC]: RX DATA : ␍␊
[11:54:10:257] [ 108781][LORAMAC]: 01 01 08 ␍␊
[11:54:10:257] [ 108785][LORAMAC]: ␍␊
[11:54:10:257] [ 108788][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:54:10:257] [ 108793][LORAMAC]: RX RSSI : -110 ␍␊
[11:54:10:257] [ 108797][LORAMAC]: RX SNR : 2 ␍␊
[11:54:10:257] [ 108802][LORAMAC]: ␍␊
[11:54:10:257] [ 108805][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:54:10:257] [ 108812][LORAMAC]: # == CTXS STORED == # ␍␊
[11:54:10:257] [ 108817][LORAMAC]: Size : 88 ␍␊
[11:54:10:474] [ 109030][HWAPI_LORA]: Successfully sent to LoRa, received 3 bytes, stored in loraRxBuff ␊
[11:54:10:474] ␍␍␊
[11:54:10:522] [ 109089][STDOUT]: All fragments sent! ␍␊
[11:54:10:570] [ 109143][STDOUT]: Received single fragment downlink message! ␍␊
[11:54:10:618] [ 109183][STDOUT]: RX LORAWAN: ␍␊
[11:54:10:650] [ 109219][STDOUT]: ␍␊
[11:54:10:666] 08 ␍␊
[11:54:10:698] [ 109263][STDOUT]: ␍␊
[11:54:10:746] [ 109315][STDOUT]: TX LORAWAN: ␍␊
[11:54:10:778] [ 109352][STDOUT]: ␍␊
[11:54:10:794] FB ␍␊
[11:54:10:826] [ 109396][STDOUT]: ␍␊
[11:54:10:842] [ 109407][LORA]: DR4␍␊
[11:54:10:986] [ 109564][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[11:54:11:184] [ 109753][STDOUT]: Sending fragmented message 1/1 ␍␊
[11:54:11:216] [ 109792][STDOUT]: ␍␊
[11:54:11:232] 01 01 FB ␍␊
[11:54:11:264] [ 109836][STDOUT]: ␍␊
[11:54:11:304] [ 109847][HWAPI_LORA]: setting port to 50.␍␊
[11:54:11:304] [ 109852][HWAPI_LORA]: 3 bytes of data will be sent␍␊
[11:54:11:304] [ 109858][LORA]: get stack ready...␍␊
[11:54:11:304] [ 109863][LORA]: send data now (1 retransmission/s): ␍␊
[11:54:11:304] ⇥ 01 01 FB ␍␊
[11:54:11:304] [ 109870][LORA]: ␍␊
[11:54:11:348] [ 109891][LORAMAC]: # === MCPS-Request == # ␍␊
[11:54:11:348] [ 109896][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[11:54:11:348] [ 109903][LORAMAC]: # ===== # ␍␊
[11:54:11:348] [ 109907][LORAMAC]: STATUS : OK ␍␊
[11:54:16:554] [ 115080][LORAMAC]: # === MCPS-Confirm == # ␍␊
[11:54:16:554] [ 115086][LORAMAC]: STATUS : OK ␍␊
[11:54:16:554] [ 115090][LORAMAC]: # = UPLINK FRAME 17 = # ␍␊
[11:54:16:554] [ 115097][LORAMAC]: ␍␊
[11:54:16:554] [ 115099][LORAMAC]: CLASS : A ␍␊
[11:54:16:554] [ 115104][LORAMAC]: ␍␊
[11:54:16:554] [ 115107][LORAMAC]: TX PORT : 50 ␍␊
[11:54:16:554] [ 115111][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[11:54:16:554] [ 115116][LORAMAC]: 01 01 FB ␍␊
[11:54:16:554] [ 115120][LORAMAC]: ␍␊
[11:54:16:554] [ 115123][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:54:16:554] [ 115128][LORAMAC]: U/L FREQ : 867300000 ␍␊
[11:54:16:554] [ 115133][LORAMAC]: TX POWER : 0 ␍␊
[11:54:16:608] [ 115137][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[11:54:16:608] [ 115142][LORAMAC]: ␍␊
[11:54:16:608] [ 115145][LORAMAC]: # == MCPS-Indication == # ␍␊
[11:54:16:608] [ 115150][LORAMAC]: STATUS : OK ␍␊
[11:54:16:608] [ 115155][LORAMAC]: # = DOWNLINK FRAME 8 = # ␍␊
[11:54:16:608] [ 115161][LORAMAC]: RX WINDOW : 1 ␍␊
[11:54:16:608] [ 115166][LORAMAC]: RX PORT : 10 ␍␊
[11:54:16:608] [ 115170][LORAMAC]: RX DATA : ␍␊
[11:54:16:608] [ 115175][LORAMAC]: 01 01 08 ␍␊
[11:54:16:608] [ 115178][LORAMAC]: ␍␊
[11:54:16:608] [ 115181][LORAMAC]: DATA RATE : DR_4 ␍␊
[11:54:16:608] [ 115186][LORAMAC]: RX RSSI : -112 ␍␊
[11:54:16:646] [ 115191][LORAMAC]: RX SNR : 1 ␍␊
[11:54:16:646] [ 115195][LORAMAC]: ␍␊
[11:54:16:646] [ 115198][LORA]: PACKET RECEIVED ON PORT 10␍␊
[11:54:16:646] [ 115205][LORAMAC]: # == CTXS STORED == # ␍␊
[11:54:16:646] [ 115210][LORAMAC]: Size : 88 ␍␊
[11:54:16:872] [ 115424][LORA]: sending done.␍␊
[11:54:16:872] [ 115428][HWAPI_LORA]: Successfully sent to LoRa, received 3 bytes, stored in loraRxBuff ␊
[11:54:16:872] ␍␍␊
[11:54:16:920] [ 115487][STDOUT]: All fragments sent! ␍␊
[11:54:16:952] [ 115532][STDOUT]: Received single fragment downlink message! ␍␊
[11:54:17:000] [ 115572][STDOUT]: RX LORAWAN: ␍␊
[11:54:17:032] [ 115609][STDOUT]: ␍␊
[11:54:17:048] 08 ␍␊
[11:54:17:080] [ 115652][STDOUT]: ␍␊
[11:54:17:144] [ 115713][STDOUT]: beacon next⇥ 38728⇥ 3484 ␍␊
[11:54:17:224] [ 115790][HWAPI_TIME]: Seconds to wait 3484␍␊
[11:54:17:240] [ 115812][SYS]: entering sleep mode␍␊
[12:11:42:340] [ 1160899][SYS]: exiting sleep mode␍␊
[12:11:42:340] [ 1160905][SYS]: button pressed␍␊
[12:11:42:388] [ 1160961][SYS]: Entering config - serial line detected␍␊
[12:11:43:009] [ 1161570][SYS]: waiting for configuration...␍␊
[12:11:43:009] [ 1161575][SYS]: configuration mode entered␍␊
[12:11:52:991] [ 1171575][SYS]: configuration mode exited␍␊
[12:11:53:006] [ 1171579][SYS]: --- New request ---␍␊
[12:11:53:217] [ 1171776][SYS]: Battery Voltage: 3623 mV␍␊
[12:11:53:217] [ 1171780][SYS]: setting battery state - 254/254␍␊
[12:11:53:217] [ 1171786][LUA]: Starting onWake() script␍␊
[12:11:53:361] [ 108][STDOUT]: onWake(), reason =⇥ button ␍␊
[12:11:53:425] [ 178][STDOUT]: Uptime =⇥ 5530⇥ sec ␍␊
[12:11:53:521] [ 271][STDOUT]: serial =⇥ connected ␍␊
[12:11:53:585] [ 332][STDOUT]: NB-IoT = ⇥ inactive ␍␊
[12:11:53:649] [ 393][STDOUT]: time =⇥ 2016⇥ 1⇥ 1⇥ 2⇥ 9⇥ 25 ␍␊
[12:11:53:873] [ 624][STDOUT]: BEACON⇥ 6593⇥ 7766 ␍␊
[12:11:54:145] [ 889][STDOUT]: ⇥ -> ⇥ T1 mode ␍␊
[12:11:54:225] [ 974][STDOUT]: mode = ⇥ T1 ␍␊
[12:11:54:833] [ 1580][NBIOT]: Unknown signal level␍␊
[12:11:54:865] [ 1611][NBIOT]: IMEI = '863266050367229'␍␊
[12:11:55:041] [ 1788][STDOUT]: TX LORAWAN: ␍␊
[12:11:55:073] [ 1824][STDOUT]: ␍␊
[12:11:55:112] F0 FF 04 00 9B 15 00 00 9B 15 00 00 BD 08 00 00 56 1E 00 00 31 2E 32 00 63 27 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 4C 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 1A ␍␊
[12:11:55:144] [ 1892][STDOUT]: ␍␊
[12:11:55:160] [ 1903][LORA]: DR4␍␊
[12:11:55:304] [ 2060][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[12:11:55:502] [ 2258][STDOUT]: Sending fragmented message 1/1 ␍␊
[12:11:55:550] [ 2297][STDOUT]: ␍␊
[12:11:55:550] 01 01 F0 FF 04 00 9B 15 00 00 9B 15 00 00 BD 08 00 00 56 1E 00 00 31 2E 32 00 63 27 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 4C 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 1A ␍␊
[12:11:55:617] [ 2366][STDOUT]: ␍␊
[12:11:55:680] [ 2376][HWAPI_LORA]: setting port to 50.␍␊
[12:11:55:680] [ 2381][HWAPI_LORA]: 80 bytes of data will be sent␍␊
[12:11:55:680] [ 2387][LORA]: get stack ready...␍␊
[12:11:55:680] [ 2392][LORA]: send data now (1 retransmission/s): ␍␊
[12:11:55:680] ⇥ 01 01 F0 FF 04 00 9B 15 00 00 9B 15 00 00 BD 08 00 00 56 1E 00 00 31 2E 32 00 63 27 0E 38 36 33 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 00 4C 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 1A ␍␊
[12:11:55:680] [ 2424][LORA]: ␍␊
[12:11:55:696] [ 2452][LORAMAC]: # === MCPS-Request == # ␍␊
[12:11:55:725] [ 2457][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[12:11:55:725] [ 2464][LORAMAC]: # ===== # ␍␊
[12:11:55:725] [ 2468][LORAMAC]: STATUS : OK ␍␊
[12:11:55:997] [ 2744][LORA]: sending done.␍␊
[12:12:01:161] [ 7867][LORAMAC]: # === MCPS-Confirm == # ␍␊
[12:12:01:161] [ 7872][LORAMAC]: STATUS : OK ␍␊
[12:12:01:161] [ 7876][LORAMAC]: # = UPLINK FRAME 18 = # ␍␊
[12:12:01:161] [ 7883][LORAMAC]: ␍␊
[12:12:01:161] [ 7886][LORAMAC]: CLASS : A ␍␊
[12:12:01:161] [ 7890][LORAMAC]: ␍␊
[12:12:01:161] [ 7893][LORAMAC]: TX PORT : 50 ␍␊
[12:12:01:161] [ 7897][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[12:12:01:161] [ 7903][LORAMAC]: 01 01 F0 FF 04 00 9B 15 00 00 9B 15 00 00 BD 08 ␍␊
[12:12:01:161] [ 7911][LORAMAC]: 00 00 56 1E 00 00 31 2E 32 00 63 27 0E 38 36 33 ␍␊
[12:12:01:161] [ 7920][LORAMAC]: 32 36 36 30 35 30 33 36 37 32 32 39 00 00 03 00 ␍␊
[12:12:01:217] [ 7928][LORAMAC]: 00 4C 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ␍␊
[12:12:01:217] [ 7937][LORAMAC]: 00 00 00 1A 0B 00 00 01 00 00 00 04 00 00 00 1A ␍␊
[12:12:01:217] [ 7945][LORAMAC]: ␍␊
[12:12:01:217] [ 7948][LORAMAC]: DATA RATE : DR_4 ␍␊
[12:12:01:217] [ 7953][LORAMAC]: U/L FREQ : 868300000 ␍␊
[12:12:01:217] [ 7958][LORAMAC]: TX POWER : 0 ␍␊
[12:12:01:217] [ 7962][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[12:12:01:217] [ 7967][LORAMAC]: ␍␊
[12:12:01:217] [ 7970][LORAMAC]: # == MCPS-Indication == # ␍␊
[12:12:01:217] [ 7976][LORAMAC]: STATUS : OK ␍␊
[12:12:01:274] [ 7980][LORAMAC]: # = DOWNLINK FRAME 9 = # ␍␊
[12:12:01:274] [ 7986][LORAMAC]: RX WINDOW : 1 ␍␊
[12:12:01:274] [ 7991][LORAMAC]: RX PORT : 10 ␍␊
[12:12:01:274] [ 7995][LORAMAC]: RX DATA : ␍␊
[12:12:01:274] [ 8000][LORAMAC]: 01 01 0B 64 00 3C 00 00 00 3C 0A 00 ␍␊
[12:12:01:274] [ 8007][LORAMAC]: ␍␊
[12:12:01:274] [ 8009][LORAMAC]: DATA RATE : DR_4 ␍␊
[12:12:01:274] [ 8014][LORAMAC]: RX RSSI : -112 ␍␊
[12:12:01:274] [ 8019][LORAMAC]: RX SNR : 1 ␍␊
[12:12:01:274] [ 8023][LORAMAC]: ␍␊
[12:12:01:274] [ 8026][LORA]: PACKET RECEIVED ON PORT 10␍␊
[12:12:01:274] [ 8034][LORAMAC]: # == CTXS STORED == # ␍␊
[12:12:01:296] [ 8039][LORAMAC]: Size : 88 ␍␊
[12:12:01:953] [ 8709][HWAPI_LORA]: Successfully sent to LoRa, received 12 bytes, stored in loraRxBuff ␊
[12:12:01:969] ␍␍␊
[12:12:02:017] [ 8768][STDOUT]: All fragments sent! ␍␊
[12:12:02:064] [ 8822][STDOUT]: Received single fragment downlink message! ␍␊
[12:12:02:112] [ 8862][STDOUT]: RX LORAWAN: ␍␊
[12:12:02:144] [ 8898][STDOUT]: ␍␊
[12:12:02:160] 0B 64 00 3C 00 00 00 3C 0A 00 ␍␊
[12:12:02:192] [ 8945][STDOUT]: ␍␊
[12:12:02:368] [ 9120][STDOUT]: ⇥ -> ⇥ T1 mode ␍␊
[12:12:02:448] [ 9205][STDOUT]: mode = ⇥ T1 ␍␊
[12:13:02:114] [ 69462][STDOUT]: T1⇥ -> ⇥ M mode ␍␊
[12:13:02:210] [ 69547][STDOUT]: mode = ⇥ M ␍␊
[12:15:03:399] [ 188705][STDOUT]: M⇥ -> ⇥ T1 mode ␍␊
[12:15:03:479] [ 188790][STDOUT]: mode = ⇥ T1 ␍␊
[12:16:03:561] [ 249206][STDOUT]: T1⇥ -> ⇥ M mode ␍␊
[12:16:03:641] [ 249291][STDOUT]: mode = ⇥ M ␍␊
[12:18:03:789] [ 367277][STDOUT]: M⇥ -> ⇥ T1 mode ␍␊
[12:18:03:869] [ 367362][STDOUT]: mode = ⇥ T1 ␍␊
[12:19:03:919] [ 427528][STDOUT]: T1⇥ -> ⇥ M mode ␍␊
[12:19:03:999] [ 427613][STDOUT]: mode = ⇥ M ␍␊
[12:20:05:026] [ 487716][STDOUT]: M⇥ -> ⇥ T1 mode ␍␊
[12:20:05:121] [ 487801][STDOUT]: mode = ⇥ T1 ␍␊
[12:21:05:683] [ 547893][STDOUT]: T1⇥ -> ⇥ M mode ␍␊
[12:21:05:779] [ 547978][STDOUT]: mode = ⇥ M ␍␊
[12:23:06:375] [ 666799][STDOUT]: Inter-frame timeout! ␍␊
[12:23:06:407] [ 666836][STDOUT]: free memory: ⇥ 80916⇥ table used: ⇥ 0 ␍␊
[12:23:06:743] [ 667172][STDOUT]: V =⇥ 3598⇥ mV ␍␊
[12:23:07:207] [ 667633][STDOUT]: TX LORAWAN: ␍␊
[12:23:07:239] [ 667669][STDOUT]: ␍␊
[12:23:07:255] F4 05 00 00 ␍␊
[12:23:07:287] [ 667714][STDOUT]: ␍␊
[12:23:07:303] [ 667725][LORA]: DR4␍␊
[12:23:07:447] [ 667882][STDOUT]: Using datarate DR4, use 1 fragments with maximum payload size of 220 bytes ␍␊
[12:23:07:645] [ 668080][STDOUT]: Sending fragmented message 1/1 ␍␊
[12:23:07:693] [ 668118][STDOUT]: ␍␊
[12:23:07:693] 01 01 F4 05 00 00 ␍␊
[12:23:07:741] [ 668164][STDOUT]: ␍␊
[12:23:07:741] [ 668175][HWAPI_LORA]: setting port to 50.␍␊
[12:23:07:763] [ 668180][HWAPI_LORA]: 6 bytes of data will be sent␍␊
[12:23:07:808] [ 668217][LORA]: get stack ready...␍␊
[12:23:07:808] [ 668221][LORA]: send data now (1 retransmission/s): ␍␊
[12:23:07:808] ⇥ 01 01 F4 05 00 00 ␍␊
[12:23:07:808] [ 668229][LORA]: ␍␊
[12:23:07:849] [ 668251][LORAMAC]: # === MCPS-Request == # ␍␊
[12:23:07:849] [ 668257][LORAMAC]: # MCPS_UNCONFIRMED # ␍␊
[12:23:07:849] [ 668264][LORAMAC]: # ===== # ␍␊
[12:23:07:849] [ 668267][LORAMAC]: STATUS : OK ␍␊
[12:23:07:929] [ 668359][LORA]: sending done.␍␊
[12:23:13:016] [ 673450][LORAMAC]: # === MCPS-Confirm == # ␍␊
[12:23:13:070] [ 673456][LORAMAC]: STATUS : OK ␍␊
[12:23:13:070] [ 673460][LORAMAC]: # = UPLINK FRAME 19 = # ␍␊
[12:23:13:070] [ 673467][LORAMAC]: ␍␊
[12:23:13:070] [ 673469][LORAMAC]: CLASS : A ␍␊
[12:23:13:070] [ 673474][LORAMAC]: ␍␊
[12:23:13:070] [ 673477][LORAMAC]: TX PORT : 50 ␍␊
[12:23:13:070] [ 673481][LORAMAC]: TX DATA : UNCONFIRMED ␍␊
[12:23:13:070] [ 673486][LORAMAC]: 01 01 F4 05 00 00 ␍␊
[12:23:13:070] [ 673491][LORAMAC]: ␍␊
[12:23:13:070] [ 673494][LORAMAC]: DATA RATE : DR_4 ␍␊
[12:23:13:070] [ 673499][LORAMAC]: U/L FREQ : 868300000 ␍␊
[12:23:13:070] [ 673504][LORAMAC]: TX POWER : 0 ␍␊
[12:23:13:070] [ 673509][LORAMAC]: CHANNEL MASK: 00FF ␍␊
[12:23:13:124] [ 673513][LORAMAC]: ␍␊
[12:23:13:124] [ 673516][LORAMAC]: # == MCPS-Indication == # ␍␊
[12:23:13:124] [ 673522][LORAMAC]: STATUS : OK ␍␊
[12:23:13:124] [ 673526][LORAMAC]: # = DOWNLINK FRAME 10 = # ␍␊
[12:23:13:124] [ 673533][LORAMAC]: RX WINDOW : 1 ␍␊
[12:23:13:124] [ 673537][LORAMAC]: RX PORT : 10 ␍␊
[12:23:13:124] [ 673541][LORAMAC]: RX DATA : ␍␊
[12:23:13:124] [ 673546][LORAMAC]: 01 01 08 ␍␊
[12:23:13:124] [ 673549][LORAMAC]: ␍␊
[12:23:13:124] [ 673552][LORAMAC]: DATA RATE : DR_4 ␍␊
[12:23:13:124] [ 673557][LORAMAC]: RX RSSI : -109 ␍␊
[12:23:13:124] [ 673562][LORAMAC]: RX SNR : 4 ␍␊
[12:23:13:155] [ 673566][LORAMAC]: ␍␊
[12:23:13:155] [ 673569][LORA]: PACKET RECEIVED ON PORT 10␍␊
[12:23:13:155] [ 673576][LORAMAC]: # == CTXS STORED == # ␍␊
[12:23:13:155] [ 673581][LORAMAC]: Size : 88 ␍␊
[12:23:13:363] [ 673797][HWAPI_LORA]: Successfully sent to LoRa, received 3 bytes, stored in loraRxBuff ␊
[12:23:13:379] ␍␍␊
[12:23:13:427] [ 673856][STDOUT]: All fragments sent! ␍␊
[12:23:13:475] [ 673910][STDOUT]: Received single fragment downlink message! ␍␊
[12:23:13:523] [ 673950][STDOUT]: RX LORAWAN: ␍␊
[12:23:13:555] [ 673986][STDOUT]: ␍␊
[12:23:13:571] 08 ␍␊
[12:23:13:603] [ 674030][STDOUT]: ␍␊
[12:23:13:651] [ 674090][STDOUT]: beacon next⇥ 36991⇥ 2920 ␍␊
[12:23:13:731] [ 674168][HWAPI_TIME]: Seconds to wait 2920␍␊
[12:23:13:763] [ 674190][SYS]: entering sleep mode␍␊
Interaction between the script and the device can be easily seen by comparing the timestamps of what is printed by "main.py" and ACR-CV. The code which is running on ACR-CV can be found here: https://sw.acrios.com/acrios/acr-cv-lua/-/blob/master/ACR_CV_101LN_W_X_multimode.lua and it is by default set to use only LoRaWAN connection:
ver="1.2"
proto = "UDP"
port = 4242
ip = "192.168.0.20"
withIMSI = false
usedInterfaces = "lorawan" --"both" <------ HERE
lorawanBootHelloPort = 100
lorawanMainPort = 50
In case you want to combine both uplink interfaces and execute the readout cycle via LoRaWAN or NB-IoT depending on from where the request to ACR-CV arrives,
you can change the value of usedInterfaces
from "lorawan" to "both". Feel free to check this article for information about NB-IoT.
In order to access the full version of the scripts used in this article, click on the buttons below:
Conclusion
This article showcases, how to set up your instance of The Things Stack and use LoRaWAN to interact with ACR-CV to read out Wireless M-Bus meters. An example Python script is provided which allows successful communication with Lua script running at ACR-CV-101NI-W-D2 hardware.
The solution to Wireless M-Bus to LoRaWAN presented in this text can be either used as is or can be used for integration of a different LoRaWAN network server such as Chirpstack, LORIOT or others. Also feel free to change the Lua script by adding your own commands and logic, if required by your use-case.
Because we use the same set of commands, as in NB-IoT, the future integration of the solution described in this article (wM-Bus to LoRaWAN) to ACRIOS backend is both feasible and possible. Currently, only wM-Bus to NB-IoT is integrated in our backend. In such case, the manual steps required in this guide would be done programmatically (ACR-CV device registration to LoRaWAN Network Server etc.).